<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="https://cdn.staticfile.org/jquery/3.5.1/jquery.min.js"></script>
    <style>
        div {
            position: absolute;
            width: 100px;
            height: 100px;
            background-color: pink;
        }
    </style>
</head>

<body>
    <div></div>
    <script>
        function fn(a, b, callback) {
            console.log(a + b);
            callback && callback()
        }
        // 高阶函数中的参数可以是函数
        fn(2, 5, function() {
            console.log("hello");
        });
        // jQuery中的animate方法就属于高阶函数
        $('div').animate({
            left: 100
        }, function() {
            $('div').css("backgroundColor", 'yellow')
            $('div').animate({
                left: 800
            }, function() {
                $('div').css("backgroundColor", "orange")
            })
        })


        // 高阶函数：
        // 第一种：参数可以是函数 
        // 第二种：return的是函数
    </script>
</body>

</html>